#集合：相同的个元素只能出现一次。不支持索引访问

set1 = {1,2,3,4,5}
set2 = {1,2,4,5}

#添加新的元素
set1.add(7)
print(f"添加7后的集合set1:{set1}")
#添加相同的元素后：(没啥意义，集合中同一个元素只能出现一次)
set1.add(1)
print(f"添加1后的集合set1:{set1}")

#移除指定元素
set1.remove(2)
print(f"移除2后的集合set1:{set1}")

#取出元素()
#pop_num = set1.pop()
#print(f"取出{pop_num}后的集合{set1}")

#取元素的差集(集合1有的，而集合2没有的)---------得到新的集合(diffenence)
set3 = set1.difference(set2)
print(f"set1和set2差集为:{set3}")

#取差集-------------------------------------修改集合1(difference_update)
print(f"set1:{set1}")
print(f"set2:{set2}")
set1.difference_update(set2)
print(f"取出差集之后的set1:{set1}")

#并集(union)-------------------------------得到新的集合(union)
set4 = set1.union(set2)
print(f"set1和set2合并后的集合:{set4}")

#统计集合元素(len)
set5 = {1,2,3,4,5,6,7,8,8,8,8,9}
print(f"集合5长度为:{len(set5)}")

#遍历集合（不支持随机访问，所以不能用while）
for elem in set5:
    print(f"set5的元素:{elem}")


"""
set集合方法总结

add---尾插新的元素
pop---随机取出一个元素（可获取）
remove---消除指定元素

diffenence---取差集（可获取）
diffenence_update---取差集(会修改原有集合)
union---取并集（可获取）

len---统计长度

遍历 for (不支持随机访问，所以不能用while)

"""

"""
练习：拿到一个列表
*定义空集合
*for遍历列表
*将列表添加至集合
*得到元素去重后的集合，打印输出
"""
list_practice = ['经验+3','暴金毙咯','快来水','快来水','今夕是何年']
set_practice = set()
for i in range(0,len(list_practice)):
    set_practice.add(list_practice[i])

print(f"整合后的集合:{set_practice}\n")

set_practice = set(list_practice)
print(f"速通解法:set_practice = set(list_practice)-->{set_practice} ")


